-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Issue Navigator #2006
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Issue Navigator #2006
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces the Issue Navigator sidebar, which displays code errors and warnings. Key changes include:
- Adding a new IssueNavigatorViewModel and associated data structures for managing diagnostics.
- Integrating new Issue Navigator UI components into the NavigatorArea.
- Updating the LSP service and WorkspaceDocument to support the new issue tracking.
Reviewed Changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated no comments.
Show a summary per file
File | Description |
---|---|
CodeEdit/Features/NavigatorArea/Views/NavigatorAreaView.swift | Adds an "issues" tab to the navigator tabs. |
CodeEdit/Features/NavigatorArea/ViewModels/IssueNavigatorViewModel.swift | Introduces the view model and supporting functions for issues. |
CodeEdit/Features/NavigatorArea/ProjectNavigator/OutlineView/ProjectNavigatorViewController+NSOutlineViewDelegate.swift | Improves comment clarity. |
CodeEdit/Features/NavigatorArea/OutlineView/StandardTableViewCell.swift | Removes a duplicate subview addition of the icon. |
CodeEdit/Features/NavigatorArea/OutlineView/IssueTableViewCell.swift | Adds a custom table view cell for rendering issue nodes. |
CodeEdit/Features/NavigatorArea/Models/NavigatorTab.swift | Adds new case .issues with associated icon and label. |
CodeEdit/Features/NavigatorArea/IssueNavigator/... (various files) | Implements the UI for the Issue Navigator via view controllers, data sources, and a SwiftUI wrapper. |
CodeEdit/Features/LSP/Service/LSPService.swift & LSPService+Events.swift | Updates LSP service APIs to include workspace info and event handling. |
CodeEdit/Features/LSP/LanguageServer/LanguageServer.swift | Adds workspace context to the language server. |
CodeEdit/Features/Documents/WorkspaceDocument/WorkspaceDocument.swift | Instantiates the issue navigator view model with a hardcoded project name. |
Comments suppressed due to low confidence (1)
CodeEdit/Features/Documents/WorkspaceDocument/WorkspaceDocument.swift:37
- The IssueNavigatorViewModel is initialized with a hardcoded project name "Test". Consider retrieving the actual project name from the root folder to avoid hardcoding.
var issueNavigatorViewModel: IssueNavigatorViewModel? = IssueNavigatorViewModel(projectName: "Test")
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few thoughts, love the progress here. Hard to test without some of the more recent changes on main
due to some crashes happening.
CodeEdit/Features/NavigatorArea/IssueNavigator/OutlineView/IssueNavigatorViewController.swift
Outdated
Show resolved
Hide resolved
CodeEdit/Features/NavigatorArea/IssueNavigator/OutlineView/IssueNavigatorViewController.swift
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! I am struggling to test it consistently with a real language server, but not because of the components you've added here. I think we may need to add a call to the pull diagnostics server capability to round out the diagnostics fetching, but I say lets add an issue for that and come back to it.
Description
Adds the Issue Navigator side menu to allow users to see the errors and warnings in their codebase.
Related Issues
Checklist
Screenshots